jjzjj

java - 在单独的方法中初始化 Java 对象 : why this won\'t work

全部标签

ruby - 安装 gem 时未初始化的常量 Psych::Syck

我将gem推送到ruby​​gems.org,当我执行“geminstall(gem)”时出现此错误:ERROR:Whileexecutinggem...(NameError)uninitializedconstantPsych::Syck我可以执行“gembuild(gem).gemspec”来生成本地gem,然后geminstall(gem).gem并且安装正常。我还可以将gem放入我的Rails应用程序的Gemfile中,并带有指向Github存储库的指针,这也可以。我试过在多台计算机上安装gem(来自ruby​​gems.org,它们都遇到相同的错误。我不知道是什么原因导致从r

ruby - 有没有一种 Ruby 方法可以删除初始化程序中的样板代码?

我写了很多initialize代码,将attrs设置为参数,类似于:classSiteClientattr_reader:login,:password,:domaindefinitialize(login,password,domain='somedefaultsite.com')@login=login@password=password@domain=domainendend有没有更像Ruby的方式来做到这一点?我觉得我在一遍又一遍地编写相同的样板设置代码。 最佳答案 您可以使用rubyStruct:classMyClass或

ruby-on-rails - Spring 不起作用。 [未初始化常量 Spring::SID::DL]

我无法运行Spring。这是错误日志。myid-no-MacBook-Pro:myid$spring/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:17:in`fiddle_func':uninitializedconstantSpring::SID::DL(NameError)from/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/li

ruby-on-rails - Rails sitemap_generator 未初始化常量?

我正在尝试使用Rails站点map_generatorgem为一个包含8,000,00个页面的站点生成站点地图。gem可以在这里找到:https://github.com/kjvarga/sitemap_generator这是我在sitemap.rb中的代码:require'rubygems'require'sitemap_generator'#SetthehostnameforURLcreationSitemapGenerator::Sitemap.default_host="http://www.mysite.com"SitemapGenerator::Sitemap.create

ruby - 从任意哈希初始化 Ruby 类,但仅具有匹配访问器的键

有没有一种简单的方法可以列出已在Ruby类中设置的访问器/读取器?classTestattr_reader:one,:twodefinitialize#DosomethingenddefthreeendendTest.new=>[one,two]我真正想做的是允许初始化接受具有任意数量属性的哈希,但只提交已经定义了读者的那些。像这样的东西:definitialize(opts)opts.delete_if{|opt,val|notthe_list_of_readers.include?(opt)}.eachdo|opt,val|eval("@#{opt}=\"#{val}\"")end

ruby-on-rails - Ruby 中的类方法(相当于 JAVA 中的静态方法)

伙计们,我正在学习ruby​​,最近从JAVA转行。在JAVA中,我可以将类的成员变量设为静态,并且该成员变量在类的实例中保持不变。我如何在ruby​​中实现相同的目标。我在我的ruby课上做了这样的事情:classBaseclass@@wordshashend到目前为止,这似乎在我测试时达到了目的,即@@wordhash在Baseclass的实例中保持不变。我的理解对吗?另外,我想在类中有一个成员方法,相当于JAVA中的静态方法(我不需要类的实例来访问它)。我怎样才能做到这一点?例如,我想在Baseclass中有一个像getwordshash()这样的方法,它返回@@wordshas

ruby - 减少数组时使用 Hash.new 作为初始值

我有一个这样的数组[1,1,2,3,3,3,4,5,5]我想计算每个数字出现的次数,我正在尝试这样做[1,1,2,3,3,3,4,5,5].reduce(Hash.new(0)){|hash,number|hash[number]+=1}问题是当我尝试运行它时出现以下错误NoMethodError:undefinedmethod`[]='for1:Fixnumfrom(irb):6:in`blockinirb_binding'from(irb):6:in`each'from(irb):6:in`reduce'from(irb):6我能像这样设置初始值吗,还是我弄错了?

java - Java 中的 "caller"和 Ruby 中的 "receiver"一样吗?

如果我说x.hello()在Java中,对象x正在“调用”它包含的方法。在Ruby中,对象x正在“接收”它包含的方法。这只是表达相同想法的不同术语,还是意识形态上的根本差异?来自Java,我发现Ruby的“接收器”想法非常令人困惑。也许有人可以解释这与Java的关系? 最佳答案 在您的示例中,x不调用hello()。包含该片段的任何对象都是“调用”(即,它是“调用者”)。在Java中,x可以称为接收者;它正在接收对hello()方法的调用。 关于java-Java中的"caller"和R

ruby-on-rails - rails 上的 ruby 。未初始化常量

这很奇怪,但是:uploader类(应用程序/uploader):classImageUploader图像类(应用程序/模型):classImage应用程序说:未初始化的常量Image::THUMB_WIDTHversion:thumb,from_version::previewdoprocessresize_to_limit:[Image::THUMB_WIDTH]#怎么了?更新:阿吉斯指出了原因。此问题的最佳解决方案将在2天内发放。我不喜欢代码分离,例如创建一个新类,在初始化器等中保存Image类的所有常量。这种解决方案很糟糕,因为它会带来不一致和代码碎片。

ruby - 为什么 Ruby 注入(inject)方法不能对没有初始值的字符串长度求和?

为什么下面的代码会报错?['hello','stack','overflow'].inject{|memo,s|memo+s.length}TypeError:can'tconvertFixnumintoStringfrom(irb):2:in`+'from(irb):2:in`blockinirb_binding'from(irb):2:in`each'from(irb):2:in`inject'from(irb):2如果传递了初始值,它就可以正常工作:['hello','stack','overflow'].inject(0){|memo,s|memo+s.length}=>18